package com.future.admin.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.future.common.api.admin.entry.SysRole;
import com.future.common.api.admin.entry.SysUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ClassName : SysRoleMapper
 * @Author : lby
 * @Date: 2020/12/29 10:08
 * @Description :
 */
@Mapper
public interface SysRoleMapper extends BaseMapper<SysRole> {

    SysRole getRoleInfo(Integer id);

    /**
     * 删除角色
     */
    Boolean delRole(Integer id);

    /**
     * 添加角色菜单关系
     */
    Boolean addRoleMenus(@Param("id") Integer id, @Param("menuId") Integer menuId);

    /**
     * 获取角色对应的菜单
     */
    List<Integer> getMenuIds(SysRole sysRole);

    /**
     * 删除角色对应的菜单
     */
    Boolean delMenus(Integer id);

    /**
     * 查询用户角色
     */
    List<SysRole> getUserRoleLists(SysUser sysUser);

    /**
     * 删除用户角色
     */
    Boolean delUserRoleList(SysUser sysUser);

    /**
     * 校验是否存在对应规则
     * @param menuId
     * @param roleId
     * @return
     */
    Integer countNumber(@Param("menuId") String menuId,@Param("roleId") String roleId);
}
